﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MyCode.Project.Services
{

    /// <summary>
    /// 价格模块 相关服务
    /// </summary>
    public partial interface IPriceService
    {
        /// <summary>
        /// 获取客户价格，客户做单时使用
        /// </summary>
        /// <param name="customerId">客户ID/加盟商ID</param>
        /// <param name="barcodeId">条码ID（商品ID）</param>
        /// <returns></returns>
        decimal GetCustomerPrice(Guid customerId, Guid barcodeId);

        /// <summary>
        /// 获取店铺价格，店铺做单时使用
        /// </summary>
        /// <param name="shopId">店铺ID</param>
        /// <param name="barcodeId">条码ID（商品ID）</param>
        /// <returns></returns>
        decimal GetShopPrice(Guid shopId, Guid barcodeId);

        /// <summary>
        /// 获取销售价格，店铺销售时使用
        /// </summary>
        /// <param name="shopId">店铺ID</param>
        /// <param name="barcodeId">条码ID（商品ID）</param>
        /// <param name="memberId">会员ID</param>
        /// <returns></returns>
        decimal GetSellPrice(Guid shopId, Guid barcodeId, Guid? memberId, Guid MerchantId);

        /// <summary>
        /// 根据barcodeId取商品吊牌价
        /// </summary>
        /// <param name="barcodeId"></param>
        /// <returns></returns>
        decimal GetBasePrice(Guid barcodeId, Guid MerchantId);

        /// <summary>
        /// 根据barcodeId,memberId获取会员价
        /// </summary>
        /// <param name="barcodeId"></param>
        /// <param name="memberId"></param>
        /// <returns></returns>
        decimal GetMemberPrice(Guid barcodeId, Guid memberId, Guid MerchantId);

        /// <summary>
        /// 取成商品本价
        /// </summary>
        /// <param name="barcodeId"></param>
        /// <returns></returns>
        decimal? GetCost(Guid barcodeId, Guid MerchantId);
    }
}
